#include <head.h>

#if 0
// 解决方法一 全局变量
int val = 10;
#endif
void *Func_pthread(void *arg)
{
	printf("hello\n");
#if 0 // 这情况会报错，不能返回局部变量的地址 栈空间 函数结束自动释放
	int val = 10;
	return &val;
#endif

#if 0
	// 解决方法二 静态变量
	static int val = 10;
	return (void*)&val;
#endif

#if 1
	// 解决方法三 动态分配变量
	int *val = malloc(sizeof(int));
	*val = 10;
	return (void *)val;
#endif
}

int main(int argc, char const *argv[])
{
	// 创建一个线程号
	pthread_t tid;

	pthread_create(&tid, NULL, Func_pthread, NULL);

	int *res = (int *)Func_pthread(NULL);

	printf("res=%d", *res);
	// printf("VAL=%d", val);

	return 0;
}